﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// 预生产计划主表实体类
    /// </summary>
    public class PreProductionPlanMondel
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        public int id { get; set; }
        /// <summary>
        /// 单据主题
        /// </summary>
        public string title { get; set; }             // 如："年度生产计划"

        /// <summary>
        /// 单据编号（保存后自动生成）
        /// </summary>
        public string DocumentNo { get; set; } // 自动生成规则示例

        /// <summary>
        /// 来源单据类型（固定值）
        /// </summary>
        public string DocumentType { get; set; }// 固定值

        /// <summary>
        /// 关联来源单据编号
        /// </summary>
        public string DocumentTypeNo { get; set; } // 关联系统内单据

        /// <summary>
        /// 制单人员（默认当前用户）
        /// </summary>
        public string DocumentMakers { get; set; }  // 系统自动填充

        /// <summary>
        /// 制单时间（默认当前时间）
        /// </summary>
        public DateTime datetime { get; set; } = DateTime.Now;        // 系统时钟同步

        /// <summary>
        /// 关联项目名称
        /// </summary>
        public string ProjectName { get; set; }// 项目管理系统关联

        /// <summary>
        /// 通用备注栏
        /// </summary>
        public string remark { get;set; }// 自由文本输入

        // 明细清单（支持动态增删）
        public List<PreProductionPlanDetailMondel> manifest { get; set; } = new List<PreProductionPlanDetailMondel>();

        /// <summary>
        /// 自动生成数量合计（只读）
        /// </summary>
        public int num { get; set; }// LINQ自动计算

        // 文件上传组件
        /// <summary>
        /// 附件文件名称（支持多文件）
        /// </summary>
        public List<AttachmentInfoModel> Upload { get; set; } = new List<AttachmentInfoModel>();
        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; } = 1;
    }
}
